/*
 * List.h
 *
 *  Created on: 18/06/2011
 *      Author: clau
 */

#ifndef LIST_H_
#define LIST_H_



template <class T> class List {

private:


	struct Tnodo{
	T* datos;
	Tnodo *sig;
	};
	typedef Tnodo *Tlista;

public:

	List ();
	~List ();
	void agregarElemeto (T dato);
	void eliminarElemeto ( T dato );


};

template <class T> List<T> :: List () {
	return NULL;
}

template <class T> List<T> :: ~List () {
}

template <class T> void MemoriaCompartida<T> :: agregarElemeto(Tlista &l, Tdato d)
{
	Tlista paux;
	paux = new(Tnodo);
	if(paux != NULL){
		paux->dato = d;
		paux->sig = NULL;
	}
}

template <class T> void MemoriaCompartida<T> :: eliminarElemeto(Tlista &l, Tdato d){
	Tlista ptr;
    if(l->dato == d){
        ptr = l;
        l = l->sig;
    	delete(ptr);
   }
}


#endif /* LIST_H_ */
